<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/9/7
 * Time: 13:09
 */

namespace Admin\Model;

use Common\Model\AdminModel;

class ActInfoModel extends AdminModel
{
    protected $_validate = array(
        array('act_tittle', 'require', '活动名称必须！'),
        array('act_decribe', 'require', '活动描述必须！'),
        array('act_img', 'require', '活动照片必须！'),
        array('act_price', 'require', '活动费用必须！'),
        array('act_price', 'amountSize', '活动金额过大！', 0, 'callback', 3),
        array('act_price', 'currency', '货币格式不正确！'),
        array('act_start_time', 'require', '活动开始时间必须！'),
        //方法验证，定义的验证规则是当前模型类的一个方法
        array('act_start_time', 'effectiveTime', '活动开始日期错误！', 0, 'callback', 3),
        array('act_stop_time', 'require', '活动结束时间必须！'),
        array('act_stop_time', 'effectiveTime', '活动结束日期错误！', 0, 'callback', 3),
        array('start_time', 'require', '报名开始时间必须！'),
        array('start_time', 'effectiveTime', '报名开始时间错误！', 0, 'callback', 3),
        array('end_time', 'require', '截止报名时间必须！'),
        array('end_time', 'effectiveTime', '报名截止时间错误！', 0, 'callback', 3),
        array('act_type_code', 'require', '活动类别必须！'),
        array('act_organizer', 'require', '主办方必须！'),
        array('act_joiner_num', 'require', '参加人数必须！'),
        array('act_joiner_num', 'number', '参加人数不能为非数字！'),
        array('act_address', 'require', '活动地址必须！'),

    );

    protected $patchValidate = true; //开启批量验证

    /*
     * 验证有效时间
     * */
    public function effectiveTime()
    {
        $time1=date('Y-m-d');//获得当前日期
        $time2=I('post.act_start_time'); //获得活动开始日期
        $time3=I('post.act_stop_time'); //获得活动结束日期
        $time4=I('post.start_time'); //获得报名开始日期
        $time5=I('post.end_time'); //获得报名截止日期

        if($time1>$time2){
            return false;
        }
        if ($time1>$time3 || $time2>$time3) {
            return false;
        }
        if ($time1>$time4 || $time2>$time4) {
            return false;
        }
        if ($time1>$time5 || $time4>$time5) {
            return false;
        } else {
            return true;
        }
    }

    /*
     * 限制金额大小
     * */
    public function amountSize()
    {
        $price = I('post.act_price'); //获得活动费用
        if ($price > 9999.99) {
            return false;
        } else {
            return true;
        }
    }

    /*
     * 添加文章
     * */
//    public function addArt()
//    {
//
//    }

    /*
     * 文章图片上传
     * */
    public function upload(){
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize   =     3145728 ;// 设置附件上传大小
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath  =      './Uploads/'; // 设置附件上传根目录
        // 开启子目录保存 并以日期（格式为Ymd）为子目录
        $upload->autoSub = true;
        $upload->subName = array('date','Ymd');
        // 上传单个文件
        $info   =   $upload->uploadOne($_FILES['photo1']);
        if(!$info) {// 上传错误提示错误信息
            $this->error($upload->getError());
        }else{// 上传成功 获取上传文件信息
            echo $info['savepath'].$info['savename'];
        }

    }
}